package br.com.foxinline.manager.pesquisar;

import br.com.foxinline.enums.TipoDocumento;
import br.com.foxinline.modelo.Imovel;
import br.com.foxinline.modelo.Proprietario;
import br.com.foxinline.servico.ImovelServico;
import br.com.foxinline.servico.ProprietarioServico;
import br.com.foxinline.util.Caracter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;

/**
 *
 * @author ely
 */
@ViewScoped
@ManagedBean
public class ManagerContribuinte implements Serializable {
    
    @EJB
    ImovelServico imovelServico;
    @EJB
    ProprietarioServico proprietarioServico;
    private Proprietario proprietario;
    private List<Proprietario> proprietarios;
    private Imovel imovel;
    private List<Imovel> imoveis;
    private String visaoInscricao = "";
    private String inscricao;
    
    @PostConstruct
    public void init() {
        proprietario = new Proprietario();
        proprietario.setTipoDocumento(TipoDocumento.CPF);
        imovel = new Imovel();
    }
    
    public void logar() {
        
        if (inscricao != null && !inscricao.isEmpty()) {
            String[] str = inscricao.split("\\.");
            imovel.setInscricaoCadastralD(Integer.parseInt(str[0]));
            imovel.setInscricaoCadastralS(Integer.parseInt(str[1]));
            imovel.setInscricaoCadastralQuadra(Integer.parseInt(str[2]));
            imovel.setInscricaoCadastralLote(Integer.parseInt(str[3]));
            imovel.setInscricaoCadastralUnid(Integer.parseInt(str[4]));
        }
        
        proprietario.setCpf(Caracter.removecaracter(proprietario.getCpf()));
        proprietario.setCnpj(Caracter.removecaracter(proprietario.getCnpj()));
        imovel = imovelServico.existImovelContribuinte(proprietario, imovel);
        if (imovel != null) {
            System.out.println("TEM");
        } else {
            imovel = new Imovel();
           
             
        }
    }
    
    public List<SelectItem> tipoDocumento() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (TipoDocumento tipo : TipoDocumento.values()) {
            items.add(new SelectItem(tipo.getTipo(), tipo.getNome()));
        }
        return items;
    }
    
    public String getInscricao() {
        return inscricao;
    }
    
    public void setInscricao(String inscricao) {
        this.inscricao = inscricao;
    }
    
    public String getVisaoInscricao() {
        return visaoInscricao;
    }
    
    public void setVisaoInscricao(String visaoInscricao) {
        this.visaoInscricao = visaoInscricao;
    }
    
    public Proprietario getProprietario() {
        return proprietario;
    }
    
    public void setProprietario(Proprietario proprietario) {
        this.proprietario = proprietario;
    }
    
    public List<Proprietario> getProprietarios() {
        return proprietarios;
    }
    
    public void setProprietarios(List<Proprietario> proprietarios) {
        this.proprietarios = proprietarios;
    }
    
    public Imovel getImovel() {
        return imovel;
    }
    
    public void setImovel(Imovel imovel) {
        this.imovel = imovel;
    }
    
    public List<Imovel> getImoveis() {
        return imoveis;
    }
    
    public void setImoveis(List<Imovel> imoveis) {
        this.imoveis = imoveis;
    }
}
